
#ifndef TIMER_H
#define TIMER_H

// INCLUDES ********************************************************************

#include <stdint.h>

// FORWARD DECLARATIONS ********************************************************

namespace Meteor
{
    class Function;
}

// *****************************************************************************

//! Timer
//! 
//! This class will handle any time related issues
//! 

// *****************************************************************************

namespace Meteor
{
    class Timer
    {
        public:
            //! return current time in nanoseconds
            static const uint64_t GetCurrentTime();
        
            static const float ConversionFactor;
        
            static void CallFunctionWithDelay( Function* function, const float delay);
    
        private:
            Timer();
        
            ~Timer();
        
    }; // end of class Timer

} // end of namespace Meteor

#endif // TIMER_H

